A private network commonly includes a collection of computers and other devices that are communicatively coupled to each other using a private address space. For example, each device in the private network can have a private address within the private address space, and the devices can use the private addresses to share information and resources within the private network. However, when a device within a private network needs to communicate with a device over a public network (e.g., a device that is not within the private network), the device within the private network will generally use a router. Routers forward data packets between private networks and public networks using network address translation (NAT) modules that translate between addresses in the private address space and addresses in the public address space.
Routers may include a firewall that restricts communications between the private network and the public network based on a predetermined set of rules. For example, a router can use a firewall to determine a source and/or a destination of a data packet and can prevent data packets coming from or going to a particular source and/or destination. Accordingly, firewalls can increase the security of a private network by controlling communications between devices within the private network and devices over the public network. However, firewalls may be susceptible to being bypassed or “hacked,” which can result in the security of a private network being compromised.